#include <iostream>
#include <stack>
using namespace std;
int main()
{
    // <stack> 是 C++ 标准模板库（STL）的一部分，它实现了一个后进先出（LIFO，Last In First Out）的数据结构。这种数据结构非常适合于需要"最后添加的元素最先被移除"的场景。
    stack<int> a;
    a.push(1);
    a.push(2);
    a.push(3);
    // push(): 在栈顶添加一个元素。
    // pop(): 移除栈顶元素。
    // top(): 返回栈顶元素的引用，但不移除它。
    // empty(): 检查栈是否为空。
    // size(): 返回栈中元素的数量。
    // top(): 返回栈顶元素的引用，但不移除它。
    int top{a.top()}; // 3
    cout << "top in stack is " << top << endl;
    cout << (a.empty() ? "空" : "非空") << endl;    // 检查栈是否为空
    cout << "stack's size is " << a.size() << endl; // 获取栈中元素个数
    return 0;
}
